-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dayjs.diff improve performance #2244
Conversation
Codecov Report
@@ Coverage Diff @@
## dev #2244 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 183 183
Lines 2111 2137 +26
Branches 555 562 +7
=========================================
+ Hits 2111 2137 +26
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
可以合了么 |
## [1.11.9](v1.11.8...v1.11.9) (2023-07-01) ### Bug Fixes * Add null to min and max plugin return type ([#2355](#2355)) ([62d9042](62d9042)) * check if null passed to objectSupport parser ([#2175](#2175)) ([013968f](013968f)) * dayjs.diff improve performance ([#2244](#2244)) ([33c80e1](33c80e1)) * dayjs(null) throws error, not return dayjs object as invalid date ([#2334](#2334)) ([c79e2f5](c79e2f5)) * objectSupport plugin causes an error when null is passed to dayjs function (closes [#2277](#2277)) ([#2342](#2342)) ([89bf31c](89bf31c)) * Optimize format method ([#2313](#2313)) ([1fe1b1d](1fe1b1d)) * update Duration plugin add/subtract take into account days in month ([#2337](#2337)) ([3b1060f](3b1060f)) * update MinMax plugin 1. ignore the 'null' in args 2. return the only one arg ([#2330](#2330)) ([3c2c6ee](3c2c6ee))
🎉 This PR is included in version 1.11.9 🎉 The release is available on: Your semantic-release bot 📦🚀 |
## [1.11.9](iamkun/dayjs@v1.11.8...v1.11.9) (2023-07-01) ### Bug Fixes * Add null to min and max plugin return type ([iamkun#2355](iamkun#2355)) ([62d9042](iamkun@62d9042)) * check if null passed to objectSupport parser ([iamkun#2175](iamkun#2175)) ([013968f](iamkun@013968f)) * dayjs.diff improve performance ([iamkun#2244](iamkun#2244)) ([33c80e1](iamkun@33c80e1)) * dayjs(null) throws error, not return dayjs object as invalid date ([iamkun#2334](iamkun#2334)) ([c79e2f5](iamkun@c79e2f5)) * objectSupport plugin causes an error when null is passed to dayjs function (closes [iamkun#2277](iamkun#2277)) ([iamkun#2342](iamkun#2342)) ([89bf31c](iamkun@89bf31c)) * Optimize format method ([iamkun#2313](iamkun#2313)) ([1fe1b1d](iamkun@1fe1b1d)) * update Duration plugin add/subtract take into account days in month ([iamkun#2337](iamkun#2337)) ([3b1060f](iamkun@3b1060f)) * update MinMax plugin 1. ignore the 'null' in args 2. return the only one arg ([iamkun#2330](iamkun#2330)) ([3c2c6ee](iamkun@3c2c6ee))
## [1.11.9](iamkun/dayjs@v1.11.8...v1.11.9) (2023-07-01) ### Bug Fixes * Add null to min and max plugin return type ([iamkun#2355](iamkun#2355)) ([62d9042](iamkun@62d9042)) * check if null passed to objectSupport parser ([iamkun#2175](iamkun#2175)) ([013968f](iamkun@013968f)) * dayjs.diff improve performance ([iamkun#2244](iamkun#2244)) ([33c80e1](iamkun@33c80e1)) * dayjs(null) throws error, not return dayjs object as invalid date ([iamkun#2334](iamkun#2334)) ([c79e2f5](iamkun@c79e2f5)) * objectSupport plugin causes an error when null is passed to dayjs function (closes [iamkun#2277](iamkun#2277)) ([iamkun#2342](iamkun#2342)) ([89bf31c](iamkun@89bf31c)) * Optimize format method ([iamkun#2313](iamkun#2313)) ([1fe1b1d](iamkun@1fe1b1d)) * update Duration plugin add/subtract take into account days in month ([iamkun#2337](iamkun#2337)) ([3b1060f](iamkun@3b1060f)) * update MinMax plugin 1. ignore the 'null' in args 2. return the only one arg ([iamkun#2330](iamkun#2330)) ([3c2c6ee](iamkun@3c2c6ee))
* improve: diff performance * refactor: switch refactor --------- Co-authored-by: 李权威 <liquanwei@corp.netease.com>
## [1.11.9](iamkun/dayjs@v1.11.8...v1.11.9) (2023-07-01) ### Bug Fixes * Add null to min and max plugin return type ([#2355](iamkun/dayjs#2355)) ([62d9042](iamkun/dayjs@62d9042)) * check if null passed to objectSupport parser ([#2175](iamkun/dayjs#2175)) ([013968f](iamkun/dayjs@013968f)) * dayjs.diff improve performance ([#2244](iamkun/dayjs#2244)) ([33c80e1](iamkun/dayjs@33c80e1)) * dayjs(null) throws error, not return dayjs object as invalid date ([#2334](iamkun/dayjs#2334)) ([c79e2f5](iamkun/dayjs@c79e2f5)) * objectSupport plugin causes an error when null is passed to dayjs function (closes [#2277](iamkun/dayjs#2277)) ([#2342](iamkun/dayjs#2342)) ([89bf31c](iamkun/dayjs@89bf31c)) * Optimize format method ([#2313](iamkun/dayjs#2313)) ([1fe1b1d](iamkun/dayjs@1fe1b1d)) * update Duration plugin add/subtract take into account days in month ([#2337](iamkun/dayjs#2337)) ([3b1060f](iamkun/dayjs@3b1060f)) * update MinMax plugin 1. ignore the 'null' in args 2. return the only one arg ([#2330](iamkun/dayjs#2330)) ([3c2c6ee](iamkun/dayjs@3c2c6ee))
在高频场景下 dayjs.diff 会成为性能瓶颈, 发现在进行
dayjs.diff(time, 'day')
计算时会有无效的一些计算,于是优化了在进行 diff day 场景下的性能test case
before
after
执行时间由 1.35s/100000次 提升到 0.2s/100000次